package com.platform.server.service;

import java.util.List;
import java.util.Map;

import com.platform.server.entity.EnterpriseInfo;
import com.platform.server.entity.Identity;
import com.platform.server.entity.User;
import com.platform.server.entity.Withdraw;
import com.platform.server.response.pojo.ReturnData;

public interface UserService {
	
	/**
	 * 人脸识别是否通过
	 */
	ReturnData updateFaceStatu(String statu,String id);
	
	ReturnData upgrade();
	ReturnData upgradeStop(String levelId);
	
	/**
	 * 微信登录
	 */
	ReturnData selectWxnum(String openid);
	
	/**
	 * 填写推荐人手机
	 */
	ReturnData insertRecommendMobile(String userid,String mobile);
	
	/**
	 * 查看推荐人手机号
	 */
	ReturnData selectRecommendMobile(String userid);
	
	/**
	 * 查看个人照片
	 */
	ReturnData selectUserPhoto(String userid);
	
	/**
	 * 注册获取验证码
	 */
	ReturnData getRegisterCode(String mobile);
	
	/**
	 * 用户注册
	 */
	ReturnData UserRegister(String mobile,String code,String isEnter);
	
	/**
	 * 注册成功后设置密码
	 */
	ReturnData insertPassword(String id,String password,String surePassword) throws Exception;
	
	/**
	 * 忘记密码获取验证码
	 */
	ReturnData getforgetPwdCode(String mobile);
	
	/**
	 * 忘记密码
	 */
	ReturnData forgetPassword(String mobile,String code,String password,String surePassword) throws Exception ;
	
	/**
	 * 填写基本资料接口
	 */
	ReturnData setBaseInformation(User user);
	
	/**
	 * 修改基本资料
	 */
	ReturnData updateBaseInformation(User user);
	
	/**
	 * 登录获取验证码接口
	 */
	ReturnData getLoginCode(String mobile);
	
	/**
	 * 验证码登录
	 */
	ReturnData codeLogin(String mobile,String code);
	
	/**
	 * 密码登录
	 */
	ReturnData passwordLogin(String mobile,String password) throws Exception;
	
	/**
	 * 个人信息接口
	 */
	ReturnData selectUserInfo(String id);
	
	/**
	 * 绑定信息
	 */
	ReturnData selectUserBindingInfo(String id);
	
	/**
	 * 职业资格认证
	 */
	ReturnData insertJobCertification(String job,String skill,String certification_photo,String id);
	
	/**
	 * 我的关注列表
	 */
	ReturnData selectmyInterestList(String id,Integer pageSize, Integer pageNo);
	
	/**
	 * 我的粉丝列表
	 */
	ReturnData selectMyFans(String id,Integer pageSize, Integer pageNo);
	
	/**
	 * 实名认证信息
	 */
	ReturnData selectAuthentication(Integer id);
	
	/**
	 * 企业认证
	 */
	ReturnData insertEnterpriseInfo(EnterpriseInfo enterpriseInfo);
	
	/**
	 * 上传个人照片
	 */
	ReturnData updateUserPhoto(String userid,String photo);
	
	/**
	 * 上传个人视频
	 */
	ReturnData insertVideo(String userid,String videoLink,String videoTime,String videoImage);
	
	/**
	 * 关注用户
	 */
	ReturnData attentionUser(String userid1,String userid2);
	
	/**
	 * 提现申请
	 */
	ReturnData insertWithdrawApply(Withdraw withdraw);
	
	/**
	 * 钱包明细
	 */
	ReturnData selectWalletInfo(String userid);
	
	/**
	 * 取消关注用户
	 */
	ReturnData unfriendedUser(String userid1,String userid2);
	
	/**
	 * 查看我的推荐人列表
	 */
	ReturnData selectMyReferrerList(String mobile);
	
	/**
	 * 查看我的积分
	 */
	ReturnData selectMyIntegral(String userid);
	
	/**
	 * 查看我的积分记录
	 */
	ReturnData selectIntegralRecord(String userid,Integer pageSize, Integer pageNo);
	
	/**
	 * 账户
	 */
	ReturnData selectUserAccount(String userid);
	
	/**
	 * 身份认证
	 */
	ReturnData insertIdentityAuthentication(Identity i);
	
	/**
	 * 删除个人照片接口
	 */
	ReturnData deleteUserPhoto(String userid,String photo);
	
	/**
	 * 查看职业资格证
	 */
	ReturnData selectJobCertification(String userid);
	
	/**
	 * 修改登录密码
	 */
	ReturnData updateLoginPassword(String oldPassword,String newPassword,String surePassword,String userid)throws Exception;
	
	/**
	 * 修改支付密码获取验证码
	 */
	ReturnData updatePayPasswordGetCode(String userid);
	
	/**
	 * 意见反馈
	 */
	ReturnData insertFeedback(String userid,String content);
	
	/**
	 * 获取个人基本资料
	 */
	ReturnData selectUserinfo(Integer userid);
	
	/**
	 * 查看企业认证
	 */
	ReturnData selectCompany(String userid);
	
	/**
	 *添加下级
	 */
	ReturnData addUserGrade(User user);
	/**
	 *添加下级
	 */
	ReturnData addUserMobile(User user);
	
	/**
	 * 查询下级
	 * @param userid
	 * @return
	 */
	ReturnData selectParentUser(User user);
	

	/**
	 * 查询下一级
	 * @param userid
	 * @return
	 */
	ReturnData selectOneUser(User user);
	/**
	 * 查询下二级
	 * @param userid
	 * @return
	 */
	ReturnData selectTwoUser(User user);
	
	/**
	 * 查询下级收益明细
	 * @param userid
	 * @return
	 */
	ReturnData selectUserDetail(User user);
	

	/**
	 * 查询下级交易详情
	 */
	ReturnData selectdetail(User user);
	

	/**
	 * 查询企业交易提成
	 */
	ReturnData selectEnter(User user);


}
